﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SmartMathLibrary
{
    /// <summary>
    /// Represents an enumeration of the logical connectives.
    /// </summary>
    public enum LogicalConnective
    {
        /// <summary>
        /// Equal connective.
        /// </summary>
        Equal = 0,
        /// <summary>
        /// NotEqual connective.
        /// </summary>
        NotEqual = 1,
        /// <summary>
        /// LowerThan connective.
        /// </summary>
        GreaterThan = 2,
        /// <summary>
        /// LowerThan connective.
        /// </summary>
        LowerThan = 3,
        /// <summary>
        /// GreaterOrEqual connective.
        /// </summary>
        GreaterOrEqual = 4,
        /// <summary>
        /// LowerOrEqual connective.
        /// </summary>
        LowerOrEqual = 5,
        /// <summary>
        /// Logical And connective.
        /// </summary>
        And = 6,
        /// <summary>
        /// Logical Or connective.
        /// </summary>
        Or = 7,
        /// <summary>
        /// Logical Not connective.
        /// </summary>
        Not = 8,
        /// <summary>
        /// Logical XOr connective.
        /// </summary>
        XOr = 9
    }

    /// <summary>
    /// Defines a tri state value type.
    /// </summary>
    public enum TriState
    {
        /// <summary>
        /// Defines True.
        /// </summary>
        True = 0,
        /// <summary>
        /// Defines False.
        /// </summary>
        False = 1,
        /// <summary>
        /// Defines the third state, the so called tri state.
        /// </summary>
        Tristate = 2
    }
}